/*
 * @Author: earl 
 * @Date: 2018-12-10 12:23:25 
 * @Last Modified by: earl
 * @Last Modified time: 2018-12-10 15:32:48
 * @Describe:  koa 入口文件
 */

const Koa = require('koa')
const fs = require('fs')
const app = new Koa()
const router = require('./routers/index')

// /**
//  * 用Promise封装异步读取文件方法
//  * @param  {string} page html文件名称
//  * @return {promise}      
//  */
// function render( page ) {
//   return new Promise(( resolve, reject ) => {
//     let viewUrl = `./view/${page}`
//     fs.readFile(viewUrl, "binary", ( err, data ) => {
//       if ( err ) {
//         reject( err )
//       } else {
//         resolve( data )
//       }
//     })
//   })
// }

// /**
//  * 根据URL获取HTML内容
//  * @param  {string} url koa2上下文的url，ctx.url
//  * @return {string}     获取HTML文件内容
//  */
// async function route( url ) {
//   let view = '404.html'
//   switch ( url ) {
//     case '/':
//       view = 'index.html'
//       break
//     case '/index':
//       view = 'index.html'
//       break
//     case '/todo':
//       view = 'todo.html'
//       break
//     case '/404':
//       view = '404.html'
//       break
//     default:
//       break
//   }
//   let html = await render( view )
//   return html
// }

// app.use( async ( ctx ) => {
//   let url = ctx.request.url
//   let html = await route( url )
//   ctx.body = html
// })

app.use(router.routes()).use(router.allowedMethods())

app.listen(3000)
console.log('[demo] route-simple is starting at port 3000')